using System;
using System.IO;
using Microsoft.WowAddonStudio.Lua.RuntimeService.ShellHost;

namespace Microsoft.WowAddonStudio.Lua.RuntimeService.Tests.Mocks
{
	/// <summary>
	/// Represents a Mock Lua Runtime component for WoWAddOnStudio.
	/// </summary>
	public class MockLuaRuntime : LuaRuntime
	{
		private readonly string wowBenchPath = Path.Combine(Environment.CurrentDirectory, Resources.DefaultWoWBenchPath);

		/// <summary>
		/// Initializes a new instance of the <see cref="MockLuaRuntime"/> class.
		/// </summary>
		/// <param name="provider">The provider.</param>
		/// <param name="resolverFactory">The resolver factory.</param>
		/// <param name="hostFactory">The host factory.</param>
		public MockLuaRuntime(IServiceProvider provider, IResolverFactory resolverFactory, IShellHostFactory hostFactory)
			: base(provider, resolverFactory, hostFactory)
		{

			RuntimeShellHost = new MockShellHost();
			WowBenchPath = wowBenchPath;
			HostFactory = new MockShellHostFactory();
		}
	}
}